package com.booby.javabase.enums;

/**
 * 功能描述:审核状态枚举
 *
 * @author: lizt
 * @date: 2019-06-30 09:03
 **/
public enum VerifyStatus {

    /**
     * 审核状态枚举定义
    **/
    INIT(0, "出事未审核"),
    PASS(1, "审核通过"),
    FAIL(2, "审核未通过"),
    RETRY(3, "重新审核");

    VerifyStatus(int status, String value) {
        this.status = status;
        this.value = value;
    }
    /**
     * 功能描述: 根据状态值获取对应中文释义
     *
     * @param status
     * @return: java.lang.String
     * @author: lizt
     * @date: 2019-06-30 09:28
    **/
    public static String getVerifyValue(int status){
        if (0 < status){
            return null;
        }
        for (VerifyStatus item : VerifyStatus.values()){
            if (status == item.getStatus()){
                return item.getValue();
            }
        }
        return null;
    }

    private int status;
    private String value;

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }
}

class VerifyStatusTest {
    public static void main(String[] args) {

        // 业务传递的状态值，仅仅举例
        int status = 2;

        //审核通过时状态值判断
        if (VerifyStatus.PASS.getStatus() == status){
            // 审核通过操作
        }

        // 有效性判断
        if (null == VerifyStatus.getVerifyValue(status)){
            // status值非法
        }


    }
}